using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using CapaNegocio;
using System.Collections.Generic;

public partial class abmUsuario_registrarUsuario : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["UsuLogin"] == null)
        {
            Response.Redirect("../Default.aspx", true);
        }
        else
        {
            List<Perfil> perfilesL = Perfil.buscarPerfiles();
            perfiles.DataSource = perfilesL;
            perfiles.DataTextField = "nombre";
            perfiles.DataValueField = "id";
            perfiles.DataBind();

            List<TipoDoc> tipos = TipoDoc.buscarTiposDoc();
            tiposDoc.DataSource = tipos;
            tiposDoc.DataTextField = "nombre";
            tiposDoc.DataValueField = "codigo";
            tiposDoc.DataBind();

            Usuario usu = ((Usuario)(Session["UsuLogin"]));
            Label1.Text = usu.Apellido + ", " + usu.Nombre + " (" + usu.Perfil.Nombre + ")";
        }

    }

    protected void botonAceptar_Click(object sender, EventArgs e)
    {
        if (Constructor.buscarConstructor(Convert.ToInt32(tiposDoc.SelectedValue), TextNroDoc.Text)==null &&
            Usuario.buscarUsuario(Convert.ToInt32(tiposDoc.SelectedValue), TextNroDoc.Text) == null)
        {
            ArrayList datos = new ArrayList();
            datos.Add(tiposDoc.SelectedValue);
            datos.Add(TextNroDoc.Text);
            datos.Add(TextBoxNombre.Text);
            datos.Add(TextBoxApellido.Text);
            datos.Add(TextBoxMail.Text);
            datos.Add(TextBoxTelefono.Text);
            datos.Add(perfiles.SelectedValue);
             
            if(Convert.ToInt32(perfiles.SelectedValue)==3){
            ArrayList datos1 = new ArrayList();
            datos.Add(tiposDoc.SelectedValue);
            datos.Add(TextNroDoc.Text);
            datos.Add(TextBoxNombre.Text);
            datos.Add(TextBoxApellido.Text);
            datos.Add(TextBoxMail.Text);
            datos.Add(TextBoxTelefono.Text);
            Constructor.crearConstructor(datos1);
            }

            if (Usuario.crearUsuario(datos))
            {
                Session["ruta"] = "MenuAdministrador.aspx";
                Session["mensaje"] = "Se ha creado el usuario: " + datos[1];
                Response.Redirect("../Exito.aspx");
            }
            else
            {
                Session["error"] = "Se produjo un error inesperado al intentar crear el usuario";
                Session["ruta"] = "MenuAdministrador.aspx";
                Response.Redirect("../Error.aspx");
            }
        }
        else {
            Session["error"] = "Ya exite un usuario registrado con el numero de documento: " + TextNroDoc.Text;
            Session["ruta"] = "abmUsuario/RegistrarUsuario.aspx";
            Response.Redirect("../Error.aspx");
        }
    }

    protected void botonCancelar_Click(object sender, EventArgs e)
    {
        Response.Redirect("../MenuAdministrador.aspx");
    }
}
